package titiriteroModificado;

import java.awt.event.KeyEvent;
import java.util.ArrayList;

import juego.ExcepcionMuerto;
import juego.Movil;
import juego.Tripulado;

import ar.uba.fi.algo3.titiritero.KeyPressedObservador;

public class EscuchadorDeKeyPress implements KeyPressedObservador {

        private Tripulado tripulado;
        private ControladorJuegoModificado controlador;
        
        //recibe una referencia al tripulado y una referencia al coordinador
        public EscuchadorDeKeyPress(Tripulado nave, ControladorJuegoModificado controladorJuego){
                this.tripulado = nave;
                this.controlador = controladorJuego;
        }
        
        public void keyPressed(KeyEvent event) {
                switch (event.getKeyCode()) {
                case KeyEvent.VK_DOWN:
                        tripulado.moverEnYPositivo();
                        break;
                        
                case KeyEvent.VK_LEFT:
                        tripulado.moverEnXNegativo();
                        break;
                        
                case KeyEvent.VK_UP:
                        tripulado.moverEnYNegativo();
                        break;
                
                case KeyEvent.VK_RIGHT:
                        tripulado.moverEnXPositivo();
                        break;
                        
                //barra espaciadora
                case KeyEvent.VK_SPACE:
                	//recibe una lista con los proyectiles disparados
                	try{
                		ArrayList<Movil> proyectiles = this.tripulado.disparar();
                		this.controlador.agregarFlota(proyectiles);
                	}
                	catch (ExcepcionMuerto em){}
                    break;

                default:
                        System.out.println("No apreto una tecla posta: " + event.getKeyCode());
                        break;
                }
        }

}
